#include <stdio.h>
#include <string.h>
#include "medecin.h"
#include "infirmier.h"
#include "patient.h"
#include "menu.h"
#define MAX 10000
#include <unistd.h>
char * getpass(const char *prompt);
void exit() ;
int main()
{
Medecin M;
Infirmier I;
Patient p;
Medecin liste_medecin[MAX];
Infirmier liste_infirmier[MAX];
Patient liste_patient[MAX];
long int cin;
char nom[20];
int n=0;
int jour;
int mois;
int annee;
char sexe[20];
char fichier_medecin[1024]="medecin.txt";
char fichier_infirmier[1024]="infirmier.txt";
char fichier_patient[1024]="patient.txt";
char tmp_medecin[1024];
char tmp_infirmier[1024];
char tmp_patient[1024];
char archive_medecin[1024]="archive_medecin.txt";
char archive_infirmier[1024]="archive_infirmier.txt";
char archive_patient[1024]="archive_patient.txt";
char passe[10];
char ebola[10];
int ID;
int choix,choix1;
mot_de_passe(ebola);









    char userid[]="fadhel",password[]="king",u[15];
    int m=1,a,b;
    char h[10] ;
    printf("\nEnterer USER ID et PASSWORD  (Il vous reste 3 chances )\n");

    while(m<=3)
    {

         printf("\nUSER ID: ");
         scanf("%s",u);
         char *h = getpass("donner le mot de passe...: ");
        
        

          a=strcmp(u,userid);
          b=strcmp(h,password);
          if(a==0&&b==0)
        {
            printf("\nLog in avec succés\n");
            break;
        }
        else
        {
            printf("\n password ou user id incorrect il vous reste  % d chances !!! \n",3-m);
        }
        
        m++;
         } 
      if (m==4) 
               
                          exit(1);
   
    
        
   







do
{
printf("\033[2J");
afficher_menu();
choix1=choix_menu1();
switch (choix1)
{
/*---------------------------------------------------------------------------------------------------------------------------------------*/
 case 1:
do
{
afficher_menu_Medecin();
choix=choix_menu();
switch(choix)
{
case 1: enregistrer_medecin("medecin.txt",&M,&n);
break;
case 2: printf("donner le ID du medecin a afficher\n\n");
 	scanf("%d",&ID); 
        if((existence_medecin_ID("medecin.txt",M,ID))==1)
	{printf("ce medecin existe et on va supprimer ces coordonnees\n\n");afficher_medecin_ID("medecin.txt",M,ID);}else{printf("le medecin n_existe pas\n\n");}
break;
case 3: afficher_liste_medecin("medecin.txt");
break;
case 4: printf("donner le ID du medecin a supprimer\n\n");
 	scanf("%d",&ID); 
        if((existence_medecin_ID("medecin.txt",M,ID))==1)
	{printf("ce medecin existe et on va supprimer ces coordonnees\n\n");supprimer_medecin_ID("medecin.txt",ID);}else{printf("le medecin n_existe pas\n\n");}
break;
case 5: printf("donner le ID du medecin a modifier\n\n");
 	scanf("%d",&ID); 
        if((existence_medecin_ID("medecin.txt",M,ID))==1)
	{printf("ce medecin existe et on va modifier ces coordonnees\n\n");modifier_medecin_ID("medecin.txt",M,ID);}else{printf("le medecin n_existe pas\n\n");} 
break;
case 6: afficher_archive_medecin("archive_medecin.txt",M);
break;
case 7: init_liste_medecin("medecin.txt");
break;
default: printf("\nmauvais choix\n");
}
}
while(choix!=0);
break;
/*-------------------------------------------------------------------------------------------------------------------------------------------*/
 case 2:
do
{
afficher_menu_Infirmier();
choix=choix_menu();
switch(choix)
{
case 1:   enregistrer_infirmier(fichier_infirmier,&I,&n);
break;
case 2: printf("donner le ID de l'infirmier a afficher\n\n");
 	scanf("%d",&ID); 
        afficher_infirmier_ID(fichier_infirmier,I,ID);
        if((existence_infirmier_ID(fichier_infirmier,I,ID))==1)
	{printf("cet infirmier existe et on va supprimer ces coordonnees\n\n");afficher_infirmier_ID(fichier_infirmier,I,ID);}else{printf("l'infirmier n_existe pas\n\n");}break;
case 3: afficher_liste_infirmier(fichier_infirmier);
break;
case 4: printf("donner le ID de l'infirmier a supprimer\n\n");
 	scanf("%d",&ID); 
        if((existence_infirmier_ID(fichier_infirmier,I,ID))==1)
	{printf("cet infirmier existe et on va supprimer ces coordonnees\n\n");supprimer_patient_ID(fichier_infirmier,ID);}else{printf("l'infirmier n_existe pas\n\n");}
break;
case 5: printf("donner le ID de l'infirmier a modifier\n\n");
 	scanf("%d",&ID); 
        if((existence_infirmier_ID(fichier_infirmier,I,ID))==1)
	{printf("cet infirmier existe et on va modifier ces coordonnees\n\n");modifier_infirmier_ID("infirmier.txt",I,ID);}else{printf("l'infirmier n_existe pas\n\n");} 
break;
case 6: afficher_archive_infirmier("archive_infirmier.txt",I);
break;
case 7: init_liste_infirmier("infirmier.txt");
break;
default: printf("\nmauvais choix\n");
}
}
while(choix!=0);
break;
/*------------------------------------------------------------------------------------------------------------------------------------------*/
 case 3:
do
{
afficher_menu_Patient();
choix=choix_menu();
switch(choix)
{
case 1: enregistrer_patient("patient.txt",&p,&n);
break;
case 2: printf("donner le ID du patient a afficher\n\n");
 	scanf("%d",&ID); 
        if((existence_patient_ID("patient.txt",p,ID))==1)
	{printf("ce patient existe et on va supprimer ces coordonnees\n\n");afficher_patient_ID("patient.txt",p,ID);}else{printf("le patient n_existe pas\n\n");}
break;
case 3: afficher_liste_patient("patient.txt");
break;
case 4: printf("donner le ID du patient a supprimer\n\n");
 	scanf("%d",&ID); 
        if((existence_patient_ID("patient.txt",p,ID))==1)
	{printf("ce patient existe et on va supprimer ces coordonnees\n\n");supprimer_patient_ID("patient.txt",ID);}else{printf("le patient n_existe pas\n\n");}
break;
case 5: printf("donner le ID du patient a modifier\n\n");
 	scanf("%d",&ID); 
        if((existence_patient_ID("patient.txt",p,ID))==1)
	{printf("ce patient existe et on va modifier ces coordonnees\n\n");modifier_patient_ID("patient.txt",p,ID);}else{printf("le patient n_existe pas\n\n");} 
break;
case 6: afficher_archive_patient("archive_patient.txt",p);
break;
case 7: init_liste_patient("patient.txt");
break;
default: printf("\nmauvais choix\n");
}
}
while(choix!=0);
break;
/*-------------------------------------------------------------------------------------------------------------------------------------------*/ 
case 0: printf("\nquitter...a bientot...\n");
break;
 default: printf("\nmauvais choix\n");
}
}
while (choix1!=0);
return (0);
}
